package com.googlecode.autopp.conf;

import com.googlecode.autopp.ObjectContext;

/**
 * Interface with strategy for nesting objects.
 */
public interface NestingStrategy {

    /**
     * Creates new object for given context.
     * 
     * @param <T>
     *            Type of created object.
     * @param contex
     *            Object context which contains destination type and current
     *            step.
     * 
     * @return Object with given type, may be also null.
     */
    public <T> T create(ObjectContext<T> contex);
}
